package cn.example.demo.common.model.tree.factory;

import java.util.List;

/**
 * <p>
 * 树形节点的抽象接口
 * </p>
 */
public interface AbstractTreeNode<T> {
    /**
     * 获取节点id
     *
     * @return 节点的id标识
     */
    String getNodeId();

    /**
     * 获取节点父id
     *
     * @return 父节点的id
     */
    String getNodeParentId();

    /**
     * 设置children
     *
     * @param childrenNodes 设置节点的所有子节点
     */
    void setChildrenNodes(List<T> childrenNodes);

    /**
     * 设置 parents
     *
     * @param parentsNodes 设置节点的所有父节点
     */
    void setParentsNodes(List<T> parentsNodes);
}
